package com.easy.auth.service;

import com.easy.auth.domain.Role;
import com.easy.common.jdbc.PageInfo;
import com.easy.common.web.PagedList;

public interface RoleService {

	/**
	 * 根据角色获取资源
	 * 
	 * @param role
	 * @return
	 *//*
	String getActionIds(Role role);*/

	/**
	 * 获取角色列表（分页）
	 * 
	 * @param param
	 * @return
	 */
	PagedList<Role> getAllRoles(Role role, PageInfo pageInfo);

	/**
	 * 查询符合条件的角色对象
	 * 
	 * @return
	 */
	Role findRole(Role role);

	/**
	 * 保存角色信息
	 * 
	 * @param role
	 * @return
	 */
	int saveOrEditRole(Role role);

	/**
	 * 删除用户角色
	 * 
	 * @param oids
	 * @return
	 */
	int removeRoles(String oids);

	/**
	 * 根据用户id获取该用户的角色
	 * 
	 * @param userid
	 * @param pageInfo
	 * @return
	 */
	PagedList<Role> getRolesByUserId(String userid, PageInfo pageInfo);

	/**
	 * 根据用户id获取该用户没有的角色
	 * 
	 * @param userid
	 * @param pageInfo
	 * @return
	 */
	PagedList<Role> getNotHaveRolesByUserId(String userid, PageInfo pageInfo);

	/**
	 * 根据用户id删除该用户的角色
	 * 
	 * @param userid
	 * @param roleids
	 * @return
	 */
	int removeRoles(String userid, String[] roleids);

	/**
	 * 根据用户id添加该用户的角色
	 * 
	 * @param userid
	 * @param roleids
	 * @return
	 */
	int addRoles(String userid, String[] roleids);

}
